Detecting deviations between event log and process model

ABSTRACT

A method for detecting deviations between an event log and a process model includes converting the process model into a probability process model, the probability process model comprising multiple nodes in multiple hierarchies and probability distribution associated with the multiple nodes, a leaf node among the multiple nodes corresponding to an activity in the process model; detecting differences between at least one event sequence contained in the event log and the probability process model according to a correspondence relationship; and identifying the differences as the deviations in response to the differences exceeding a predefined threshold; wherein the correspondence relationship describes a correspondence relationship between an event in one event sequence of the at least one event sequence and a leaf node in the probability process model.

DOMESTIC AND FOREIGN PRIORITY

This application is a continuation of U.S. patent application Ser. No.14/598,655, filed Jan. 16, 2015, which claims priority to Chinese PatentApplication No. 201410038281.X, filed Jan. 26, 2014, and all thebenefits accruing therefrom under 35 U.S.C. §119, the contents of whichin its entirety are herein incorporated by reference.

BACKGROUND

Various embodiments of the present invention relate to data processing,and more specifically, to a method and apparatus for detectingdeviations between an event log and a process model.

With the development of computer hardware and software technology,computer aided systems are able to provide management and support forevery aspect of people's life. For example, computer aided software hasbeen witnessed in more and more areas like production management, officeautomation, etc. Customized criteria may exist in various areas.Technical solutions have been developed for describing the criteria byprocess models and, based on the process models, managing andcontrolling flows of transactions like production management. In thesetechnical solutions, a relationship among various phases in a flow maybe described using a process model, and it is monitored based on theprocess model whether each event sequence conforms to predefined processin the actual running procedure.

In the criteria there may further exist additional temporal constraintsamong phases, for example, phase 2 can be executed only if phase 1 hasbeen executed in advance, etc. However, current solutions fail to checkwhether an event sequence in each event log satisfies temporalconstraints among phases.

On the other hand, the same activities might be executed in differentphases. Suppose during diabetes treatment, hemoglobin Alc (HbAlc) mightbe tested in different treatment phases. Existing solutions fail todistinguish to which phase an HbAlc test belongs, so error might occurwhen verifying whether or not an event sequence conforms to medicalcriteria. Therefore, it has become a focus of attention regarding how todetect deviations between an event log and a process model in a moreaccurate and effective manner.

SUMMARY

According to one aspect of the present invention, there is provided amethod for detecting deviations between an event log and a processmodel, including converting the process model into a probability processmodel, the probability process model comprising multiple nodes inmultiple hierarchies and probability distribution associated with themultiple nodes, a leaf node among the multiple nodes corresponding to anactivity in the process model; detecting differences between at leastone event sequence contained in the event log and the probabilityprocess model according to a correspondence relationship; andidentifying the differences as the deviations in response to thedifferences exceeding a predefined threshold, wherein the correspondencerelationship describes a correspondence relationship between an event inone event sequence of the at least one event sequence and a leaf node inthe probability process model.

According to one aspect of the present invention, the detectingdifferences between at least one event sequence contained in the eventlog and the probability process model according to a correspondencerelationship comprises: with respect to a current event sequence of theat least one event sequence, aligning each event in the current eventsequence with the leaf node in the probability process model; recordinga path of a leaf node with which each event is aligned in theprobability process model so as to convert the current event sequenceinto a path sequence; and determining the differences based on theprobability process model and the path sequence.

According to one aspect of the present invention, there is provided anapparatus for detecting deviations between an event log and a processmodel, comprising: a converting module configured to convert the processmodel into a probability process model, the probability process modelcomprising multiple nodes in multiple hierarchies and probabilitydistribution associated with the multiple nodes, a leaf node among themultiple nodes corresponding to an activity in the process model; adetecting module configured to detect differences between at least oneevent sequence contained in the event log and the probability processmodel according to a correspondence relationship; and an identifyingmodule configured to identify the differences as the deviations inresponse to the differences exceeding a predefined threshold, whereinthe correspondence relationship describes a correspondence relationshipbetween an event in one event sequence of the at least one eventsequence and a leaf node in the probability process model.

According to one aspect of the present invention, the detecting modulecomprises: an aligning module configured to, with respect to a currentevent sequence of the at least one event sequence, align each event inthe current event sequence with the leaf node in the probability processmodel; a path generating module configured to record a path of a leafnode with which each event is aligned in the probability process modelso as to convert the current event sequence into a path sequence; and adetermining module configured to determine the differences based on theprobability process model and the path sequence.

According to one aspect of the present invention, there is provided amethod for updating a process model, comprising: based on the abovemethod, detecting deviations between an event log and the process model;and updating the process model based on the deviations.

According to one aspect of the present invention, there is provided anapparatus for updating a process model, comprising: an apparatus asdescribed above, configured to detect deviations between an event logand the process model; and an updating module configured to update theprocess model based on the deviations.

By means of the methods and apparatuses of the present invention,deviations between an event log and a process model can be detected in amore accurate and effective manner while keeping the existing technicalsolution as much as possible. In addition, as time elapses, an outdatedprocess model can be updated based on the detected deviations.

BRIEF DESCRIPTION OF THE DRAWINGS

Through the more detailed description of some embodiments of the presentdisclosure in the accompanying drawings, the above and other objects,features and advantages of the present disclosure will become moreapparent, wherein the same reference generally refers to the samecomponents in the embodiments of the present disclosure.

FIG. 1 shows an exemplary mobile device which is applicable to implementthe embodiments of the present invention;

FIG. 2 schematically shows a block diagram of a process model;

FIG. 3 schematically shows a flowchart of a method for detectingdeviations between an event log and a process model according to oneembodiment of the present invention;

FIG. 4 schematically shows a block diagram of a probability processmodel according to one embodiment of the present invention;

FIGS. 5A, 5B, and 5C schematically show respective schematic views ofprocedures for constructing an automaton conforming to constraints inthe probability process model according to one embodiment of the presentinvention;

FIGS. 6A, 6B and 6C schematically show respective schematic views ofusing an automaton to detect whether an event sequence conforms toconstraints according to one embodiment of the present invention; and

FIG. 7 schematically shows a block diagram of an apparatus for detectingdeviations between an event log and a process model.

DETAILED DESCRIPTION

Exemplary embodiments will be described in more detail with reference tothe accompanying drawings, in which the preferable embodiments of thepresent disclosure have been illustrated. However, the presentdisclosure can be implemented in various manners, and thus should not beconstrued to be limited to the embodiments disclosed herein. On thecontrary, those embodiments are provided for the thorough and completeunderstanding of the present disclosure, and completely conveying thescope of the present disclosure to those skilled in the art.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operations to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Referring now to FIG. 1, in which an exemplary mobile device 12 which isapplicable to implement the embodiments of the present invention isshown. Mobile device 12 is only illustrative and is not intended tosuggest any limitation as to the scope of use or functionality ofembodiments of the invention described herein.

As shown in FIG. 1, mobile device 12 is shown in the form of ageneral-purpose computing device. The components of mobile device 12 mayinclude, but are not limited to, one or more processors or processingunits 16, a system memory 28, and a bus 18 that couples various systemcomponents including system memory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnect (PCI) bus.

Mobile device 12 typically includes a variety of computer systemreadable media. Such media may be any available media that is accessibleby mobile device 12, and it includes both volatile and non-volatilemedia, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Mobile device 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Mobile device 12 may also communicate with one or more external devices14 such as a keyboard, a pointing device, a display 24, etc.; one ormore devices that enable a user to interact with mobile device 12;and/or any devices (e.g., network card, modem, etc.) that enable mobiledevice 12 to communicate with one or more other computing devices. Suchcommunication can occur via Input/Output (I/O) interfaces 22. Still yet,mobile device 12 can communicate with one or more networks such as alocal area network (LAN), a general wide area network (WAN), and/or apublic network (e.g., the Internet) via network adapter 20. As depicted,network adapter 20 communicates with the other components of mobiledevice 12 via bus 18. It should be understood that although not shown,other hardware and/or software components could be used in conjunctionwith mobile device 12. Examples, include, but are not limited to:microcode, device drivers, redundant processing units, external diskdrive arrays, RAID systems, tape drives, and data archival storagesystems, etc.

In detailed description below, various phases and activities as involvedin diabetes treatment are taken as a concrete example to describedetails of a method and apparatus of the present invention. Thoseskilled in the art should understand the technical solution disclosed bythe present invention is not limited to medical institutions but isapplicable to various industries so as to detect deviations between anevent log and a process model in a corresponding trade and furtherupdate the process model. Specifically, it may be detected whether eachevent in production process conforms to production criteria, each eventin office automation process conforms to office criteria, etc.

FIG. 2 schematically shows a block diagram 200 of a process model. Thesolid-line portion in this figure shows a process model built based onmedical criteria for diabetes treatment. In FIG. 2, various phases inthe process are shown in rectangles, and activities are shown inellipses. A root node 210 “treating diabetes” of the process modelrepresents a root node of all operations during treatment, and thetreatment process may be divided into two portions, namely a phase 1 220and a phase 2 222.

In refined hierarchies, each phase may further comprise more detailedoperations. For example, phase 1 220 may comprise a test 1 230 and atreatment 1 232. Test 1 230 may further comprise more test details, suchas an activity 240 testing HbAlc and an activity 242 testing serumcreatinine; treatment 1 232 may further comprise more details of themedicine, such as an activity 244 using medicine 1 and an activity 246using medicine 2.

In a branch shown in phase 2 222, there are shown a test 2 250 and atreatment 2 252. Test 2 250 may further comprise more test details, suchas an activity 260 for testing HbAlc and an activity 2 262 for testingblood sugar; treatment 2 252 may further comprise more medicine details,such as an activity 264 using medicine 2 and an activity 266 usingmedicine 3.

Note in the medical criteria there may further exist constraints. In theprocess model built based on the medical criteria, the constraints maybe as shown by dotted arrows C1, C2 and C3 in FIG. 2, respectively.Detailed meaning of the constraints are shown as below:

C1: treatment 1 232 can occur only if HbAlc test 240 has occurredbefore;

C2: medicine 1 244 can be used only if serum creatinine test 242 hasoccurred before;

C3: treatment 2 252 can occur only if test 2 250 has occurred before.

Although a technical solution for deviation detection for a processmodel has already been proposed, the technical solution is notapplicable to a process model having constraints as shown by C1 to C3above. Those skilled in the art should note since most process modelsinvolve constraints, the existing technical solution for deviationdetection for a process model is rather limited in terms of applicationscope.

In addition, as shown in FIG. 2, both phase 1 220 and phase 2 222include a HbAlc test activity, but among activity nodes (HbAlc 240 andHbAlc 260) shown in ellipses in FIG. 2, it is impossible to distinguish,only according to the name of an activity, to which phase the activitybelongs. Therefore, duplicated activity names might prevent an existingtechnical solution from normal running. In addition, when an eventsequence is <HbAlc, medicine 1, medicine A, blood sugar, medicine 3,medicine 2>, “medicine A” occurs in this sequence but is not recorded inthe process model. Such abnormal situation cannot be detected bysolutions in the prior art. Therefore, there is a further need toimprove drawbacks in the prior art.

To this end, the embodiments of the present invention provide atechnical solution for detecting deviations between an event log and aprocess model based on a probability process model. Specifically, in oneembodiment of the present invention, there is provided a method fordetecting deviations between an event log and a process model,comprising: converting the process model into a probability processmodel, the probability process model comprising multiple nodes inmultiple hierarchies and probability distribution associated with themultiple nodes, a leaf node among the multiple nodes corresponding to anactivity in the process model; detecting differences between at leastone event sequence contained in the event log and the probabilityprocess model according to a correspondence relationship; and inresponse to the difference exceeding a predefined threshold, identifyingthe differences as the deviations, wherein the correspondencerelationship describes a correspondence relationship between an event inone event sequence of the at least one event sequence and a leaf node inthe probability process model. By means of the technical solution of thepresent invention, it is possible handle duplicated activities andadditional constraints in the process model.

FIG. 3 schematically shows a flowchart 300 of a method for detectingdeviations between an event log and a process model according to oneembodiment of the present invention.

In block S302, the process model is converted into a probability processmodel, the probability process model comprising multiple nodes in themultiple hierarchies and probability distribution associated with themultiple nodes, leaf nodes in the multiple nodes corresponding toactivities in the process model. In this embodiment, there is proposed aprobability process model, which may comprise multiple hierarchies; andin this embodiment, the location of a leaf node may be uniquelydetermined by the leaf node's path in the multiple hierarchies in theprobability process model. In this manner, duplicated activities can bedistinguished. For example, two test activities may be represented as[phase 1, test 1, HbAlc] and [phase 2, test 2, HbAlc], respectively.

In block S304, a difference between at least one event sequencecontained in the event log and the probability process model is detectedaccording to a correspondence relationship, wherein the correspondencerelationship describes a correspondence relationship between an event inone event sequence of the at least one event sequence and a leaf node inthe probability process model. According to various embodiments of thepresent invention, there exists a correspondence relationship between anevent and an activity. Specifically, it may be considered an event is aninstantiated activity and the event has all attributes of the activity.Specifically, it may be considered the event “HbAlc” in the eventsequence is an instance of the activity HbAlc.

In this embodiment, a difference between the event sequence and theprobability process model may be looked for. Since a probability processmodel has been built in a hierarchical manner and leaf nodes in theprobability process model represent activities, differences can be foundby comparing whether an event in the event sequence sequentiallycorresponds to an activity represented by a leaf node in the probabilityprocess model.

In block S306, in response to the differences exceeding a predefinedthreshold, the differences are identified as the deviations. Since theevent log usually comprises a larger number of event sequences, ifdifferences exist between only a small number of event sequences and theprobability process model, it should not be considered that the eventlog has differences with the process model; instead, only when there aremore than a certain number of differences, the differences areidentified as the deviations.

FIG. 4 schematically shows a block diagram 400 of a probability processmodel according to one embodiment of the present invention. Theprobability process model may be constructed based on the originalprocess model and may comprise two portions, namely a hidden layer 420and an observation layer 430, wherein nodes (non-leaf nodes) in hiddenlayer 420 correspond to phases in the process model and nodes (leafnodes) in observation layer 430 correspond to activities in the processmodel.

According to the embodiments of the present invention, since the eventsequence might include an event corresponding to an activity that doesnot exist in the process model, an “unknown” node may be added to leafnodes in the probability process model, so as to correspond to a newevent that might occur in the event sequence (such as the above newmedicine, namely medicine A).

In one embodiment of the present invention, a non-leaf node among themultiple nodes corresponds to a phase in the process model. As describedabove, the probability process model may be constructed in ahierarchical manner, so that non-leaf nodes and nodes in the probabilityprocess model respectively correspond to phases and activities in theprocess model.

In one embodiment of the present invention, the probability processmodel may be constructed based on a hierarchical hidden Markov model(HHMM). Detailed description of HHMM is omitted here.

Detailed description is presented below to how to calculate probabilitydistribution in the probability process model. In one embodiment of thepresent invention, the converting the process model into a probabilityprocess model comprises: calculating start probabilities of occurrenceof the non-leaf nodes, transition probabilities among the non-leaf nodesand emission probabilities from the non-leaf nodes to the leaf nodes, soas to form the probability process model.

In the embodiments of the present invention, since a comparison needs tobe made between the event sequence and various leaf nodes in theprobability process model, first probability distribution associatedwith various nodes in the probability process model needs to bedetermined, and then a probability that an activity is performed duringdiabetes treatment is determined.

Specifically, the probability distribution may comprise startprobabilities of occurrence of the non-leaf nodes, transitionprobabilities among the non-leaf nodes and emission probabilities fromthe non-leaf nodes to the leaf nodes. In this embodiment, the startprobability P_(S)(Y|X) may refer to a probability that state Y occurs instate X. For example, since treating diabetes 210 is a root node in theprobability process model, a probability of a phase represented by thisnode may be set as 1. After diabetes treatment is started, phase 1 220and phase 2 222 may be executed, so a probability that phase 2 220occurs in the state of treating diabetes 210 and a probability thatphase 2 222 occurs in the state of treating diabetes 210 may be set.According to the above principle, those skilled in the art may furthercalculate a probability that test 1 230 occurs in the state of phase 1220, etc.

In this embodiment, the transition probability P_(T)(Y|X) may representa probability that state Y occurs in state X. For example, transition ispossible between phase 1 220 and 2 222, between test 1 230 and treatment1 232, and between test 2 250 and treatment 2 252, etc. In addition,those skilled in the art should understand that X and Y may representthe same state, i.e., X state may transition to itself. For example,test 1 230 may transition to itself.

In this embodiment, the emission probability P_(E)(O|X) may represent aprobability that activity O occurs in state X in the hidden layer. Forexample, as shown in FIG. 4, a probability that test activity HbAlc 240is executed in the state of test 1 230 is the emission probability.

In this embodiment, when calculating the probability of HbAlc 240occurrences, a product of all probabilities corresponding to pathsbetween this leaf node and the root node in the probability processmodel may be solved and used as probability distribution of HbAlc 240occurrences. Specifically, suppose the probability of treating diabetes210—phase 1 220 is 0.5, the probability of phase 1 220—test 1 230 is 0.5and the probability of test 1 230-HbAlc 240 is 0.3, then the probabilityof HbAlc 240 occurrences=1×0.5×0.5×0.3=0.075. Note the above examplesimply takes into consideration the most simple situation of the firstevent in the event sequence, and transition probabilities should furtherbe considered for other events in the event sequence. Those skilled inthe art may implement a concrete calculation based on the principle ofprobability distribution, which is not detailed here.

Those skilled in the art may further use the above principle tocalculate probability distribution of occurrences of an activityrepresented by other leaf node and then form the probability processmodel.

In one embodiment of the present invention, the calculating startprobabilities of occurrence of the non-leaf nodes, transitionprobabilities among the non-leaf nodes and emission probabilities fromthe non-leaf nodes to the leaf nodes, so as to form the probabilityprocess model comprises: setting at least one of the startprobabilities, the transition probabilities and the emissionprobabilities to form the probability process model; and iterativelytraining the probability process model.

Since concrete values of various probabilities were not learnedinitially, data may be set using uniform distribution, i.e., the startprobabilities may be set based on empirical data for the past process orbased on other approach. For example, both probabilities of treatingdiabetes 210—phase 1 220 and treating diabetes 210—phase 2 222 may beset as 0.5, representing equal probabilities of occurrences. Next,training may be iteratively conducted using various training algorithmsand based on collected historical data, so as to obtain optimizedprobability distribution. In one embodiment of the present invention,the training may be conducted using the Baum-Welch algorithm;alternatively, those skilled in the art may use other algorithms for thetraining.

Since the training process takes into consideration historical dataabout executing each phase during diabetes treatment, probabilitydistribution resulting from the training usually differs from uniformdistribution and can reflect the true situation of treatment moreaccurately. For example, through training, the start probability oftreating diabetes 210—phase 1 220 may change to 0.4, while the startprobability of treating diabetes 210—phase 2 222 may change to 0.6, andsubsequent processing is performed based on the values 0.4 and 0.6.

In one embodiment of the present invention, the detecting differencesbetween at least one event sequence contained in the event log and theprobability process model according to a correspondence relationshipcomprises: with respect to a current event sequence of the at least oneevent sequence, aligning each event in the current event sequence withthe leaf node in the probability process model based on the probabilitydistribution; recording a path of a leaf node with which each event isaligned in the probability process model so as to convert the currentevent sequence into a path sequence; and determining the differencesbased on the probability process model and the path sequence.

Since the event log comprises multiple event sequences, these eventsequences in the event log may be compared with the probability processmodel one by one. Specifically, with respect to a current event sequenceamong the multiple event sequences, first events in the current eventsequence may be aligned with leaf nodes in the probability processmodel. In the context of the present invention, since the leaf nodescontain duplicated activities, various alignment approaches might exist.For example, suppose the first event in the current event sequence is“HbAlc”, when aligning the current event sequence with the probabilityprocess model as shown in FIG. 4, the event might be aligned withactivity HbAlc 240 or activity HbAlc 260. At this point, it is necessaryto resort to probability distribution in the probability process modelfor aligning the event with an activity having a higher probability.Specifically, suppose the probability of activity HbAlc 240 is 0.1 whilethe probability of activity HbAlc 260 is 0.05, then the event may bealigned with activity HbAlc 240.

Note the alignment of one event with one activity has been taken as aconcrete example to illustrate how to perform alignment above. Thoseskilled in the art should understand when aligning multiple events inthe event sequence with multiple activities represented by leaf nodes inthe probability process model, an alignment approach as below may beselected: the alignment approach may maximize a product of occurrenceprobabilities of activities aligned with each event in the eventsequence.

In one event sequence, except that the first event only considers thestart probability, the transition probability from the previous eventshould further considered when calculating a probability that each otherevent is aligned with an activity. In other words, from the 2nd event, aprobability of each event is related to the previous event (i.e., aprobability of the 2nd event depends on the 1st event, and so on and soforth).

Detailed illustration is presented below to how to align an event with aleaf node in the probability model. Suppose the current event sequenceis <HbAlc, medicine 2>, and occurrences probabilities of activities areas shown in Table 1 below:

TABLE 1 Probability Distribution current activity| previous activityHbA1c HbA1c medicine 2 medicine 2 medicine 2 medicine 2 240| 260| 246|264| 246| 264| null null HbA1c 240 HbA1c 240 HbA1c 260 HbA1c 260 . . .probability 0.1 0.05 0.05 0.01 0.01 0.05 . . .

Therefore, probabilities of aligning the event sequence <HbAlc, medicine2> with the following activities are:

1) probability of alignment with (HbAlc 240, medicine 2246)=0.1*0.05=0.005;

2) probability of alignment with (HbAlc 240, medicine 2264)=0.1*0.01=0.001;

3) probability of alignment with (HbAlc 260, medicine 2246)=0.05*0.01=0.0005;

4) probability of alignment with (HbAlc 260, medicine 2264)=0.05*0.05=0.0025.

When selecting a maximum probability from the above probabilities, thecurrent event sequence may be aligned with the activity (HbAlc 240,medicine 2 246).

Note above Table 1 merely schematically shows one example of a datastructure for saving probability distribution, and those skilled in theart may further use other modes to store probability distribution. Inaddition, Table 1 merely illustrates one part of data of probabilitydistribution in the probability process model, and the model may furthercomprise probability distribution associated with other nodes.

Next, a path of a leaf node aligned with each event in the probabilityprocess model is recorded, so as to convert the current event sequenceinto a path sequence. Continuing the above example, a path for HbAlc is:[phase 1, test 1, HbAlc]; a path for medicine 2 is: [phase 1, treatment1, medicine 2]. And a path sequence may be represented as: <[phase 1,test 1, HbAlc], [phase 1, treatment 1, medicine 2]>. The event sequencecomprising two events only has been taken as an example to illustratehow to obtain path sequence above, and those skilled in the art mayconstruct a corresponding path sequence for an event sequence comprisingmore events, based on the above principle.

For example, suppose there exists another event sequence: <HbAlc,medicine 1, medicine A, blood sugar, medicine 3, medicine 2>, then acorresponding path sequence may be represented as: <[phase 1, test 1,HbAlc], [phase 1, treatment 1, medicine 1], [phase 1, treatment 1,Unknown], [phase 2, test 2 blood sugar], [phase 2, treatment 2, medicine3], [phase 2, treatment 2, medicine 2]>.

In a subsequent operation, differences may be determined based on theprobability process model and the path sequence. Note since theprobability process model is introduced into the technical solution ofthe present invention, the path comprises a multi-level pathcorresponding to multiple hierarchies in the probability process model.Specifically, in the above example, there is a three-level path, such as[phase 1, test 1, HbAlc]. If the probability process model comprisesmore hierarchies, then the path also comprises more hierarchies.

In one embodiment of the present invention, types of the differencescomprise at least one of: additional activities, absent activities andviolated constraints. In the context of the present invention, theadditional activity refers to an activity that is not included in theoriginal process model but whose instantiated event occurs in the eventlog, such as the above new medicine (medicine A). The absent activityrefers to an activity that is included in the original process model butwhose instantiated event does not occur in the event log. The violatedconstraint represents violation of a constraint among various nodes inthe process model, such as violation of the above constraint C1.

Illustration is presented below to how to determine the differencesbased on the probability process model and the path sequence, based onconcrete types of the differences.

In one embodiment of the present invention, types of the differencescomprise violated constraints, and the determining the differences basedon the probability process model and the path sequence comprises: usinglinear temporal logic (LTL) to construct an automaton conforming toconstraints in the probability process model; and obtaining the violatedconstraints from a path sequence that cannot be accepted by theautomaton.

A corresponding automaton may be constructed using linear temporal logicwith respect to constraints to be satisfied among various nodes in theprobability process model. With reference to FIGS. 5A to 5C, detaileddescription is presented below to the process of constructing anautomaton with respect to the above constraint C1. Specifically, FIGS.5A to 5C show schematic views 500A to 500C of the process ofconstructing an automaton conforming to constraints in the probabilityprocess model according to one embodiment of the present invention.

With reference to FIG. 5A, the constraint C1 may be represented as:

-   -   c₁=(        (h=[phase1,treatment1,T])U(h=[phase1,test1,HbAlc]))    -   G(        (h=[phase1,treatment1,T]))

When h=[phase 1, treatment 1, T] is represented using a character B, andh32 [phase 1, test 1, HbAlc] is represented using a character A, theabove equation may be simplified as (

B U A)

G(

B)

Next, with respect to the constraint C1, the above LTL equation may beconverted into a non-deterministic finite automaton (NFA); subsequently,the automaton may be converted into an automaton-based constraintchecker (as shown in FIGS. 5B to 5C).

Afterwards, the constraint checker is run with respect to each eventsequence in the event log, and then an event sequence that is notaccepted by the checker is an event sequence of violated constraints.Although only an example of how to construct a checker based on theconstraint C1 has been shown above, those skilled in the art mayconstruct a corresponding checker with respect to other constraint(e.g., constraints C2 and C3) based on the above principle. Regardingthe linear temporal logic and how to construct a non-deterministicfinite automaton based on the linear temporal logic, those skilled inthe art may make reference to description of a related algorithm, whichis not detailed here.

FIGS. 6A to 6C show schematic views 600A to 600C of checking whether anevent sequence conforms to a constraint by using an automaton accordingto one embodiment of the present invention. The automatons as shown inFIGS. 6A to 6C may be applied to each event sequence in the event log,so as to obtain all event sequences violating the constraints C1 to C3.

In one embodiment of the present invention, types of the differencescomprise absent activities, and the determining the differences based onthe probability process model and the path sequence comprises:calculating a universal set S_(Model) of paths of the leaf nodes in theprobability process model, and a universal set S_(Log) of a path, of aleaf node aligned with an event in an event sequence of the at least oneevent sequence, in the probability process model, respectively;calculating a difference set S_(Absent)=S_(Model)−S_(Log) between theuniversal set S_(Model) and the universal set S_(Log) as absentactivities.

Those skilled in the art may understand if in the process model thereexists a specific activity but this activity has never been instantiatedin actual operation process or only a very few instantiated eventsexist, then it may be considered: whether the process model is correctlyset, and whether the absent activity should be removed from the processmodel. Specifically, continuing the above example of diabetes treatment,suppose a current medical criteria was formulated years ago and aprocess model built based on the medical criteria includes medicine B,whereas with the improvement in healthcare, medicine B is graduallyreplaced by medicine C, then at this point the activity of treatmentusing medicine B becomes an absent activity.

Before looking for absent activities, it is necessary to calculate auniversal set S_(Model) of paths of the leaf nodes in the probabilityprocess model, and a universal set S_(Log) of a path of a leaf nodealigned with an event in an event sequence of the at least one eventsequence in the probability process model, respectively.

Returning to FIG. 4, suppose a universal set S_(Model) of paths of theleaf nodes in the probability process model=<[phase 1, test 1, HbAlc],[phase 1, treatment 1, medicine 1], . . . > and a universal set S_(Log)of a path associated with each event in the event log=<[phase 1, test 1,HbAlc], [phase 1, treatment 1, medicine A], . . . > (excluding [phase 1,treatment 1, medicine 1]), then a difference setS_(Absent)=S_(Model)−S_(Log)=[phase 1, treatment 1, medicine 1] betweenthe universal set S_(Model) and the universal set S_(Log). In thisexample, [phase 1, treatment 1, medicine 1] is an absent activity.

In one embodiment of the present invention, types of the differencescomprise additional activities, and the determining the differencesbased on the probability process model and the path sequence comprises:calculating a universal set S_(Model) of paths of the leaf nodes in theprobability process model, and a universal set S_(Log) of a path of aleaf node aligned with an event in an event sequence of the at least oneevent sequence in the probability process model; calculating adifference set S_(Additional)=S_(Log)−S_(Model) between the universalset S_(Log) and the universal set S_(Model) as additional activities.

Those skilled in the art may understand if there exists a large numberof new events in the event log but no corresponding activities exist inthe process model, then it may be considered whether the process modelis correctly set and whether corresponding new activities should beadded to the process model. Specifically, continuing the above exampleof diabetes treatment, suppose a current medical criteria was formulatedyears ago and with the improvement in healthcare, newly developedmedicine A has gradually become a dominant medicine, then the activityof treatment using medicine A becomes an additional activity.

Continuing the above example, suppose the universal set S_(Model) doesnot include [phase 1, treatment 1, medicine A] while the universal setS_(Log) includes [phase 1, treatment 1, medicine A], then [phase 1,treatment 1, medicine A] is an additional activity.

Based on the above principle, those skilled in the art may obtainvarious types of differences, namely additional activities, absentactivities and violated constraints. Note the differences between theevent sequence and the probability process model may comprise one ormore of the above types, for example, may only comprise violatedconstraints, or may comprise additional activities and absentactivities, or may further comprise the differences of all the threetypes, etc.

In one embodiment of the present invention, the identifying thedifferences as the deviations in response to the differences exceeding apredefined threshold comprises: calculating a ratio of the number ofevent sequences with differences of the at least one event sequence tothe total number of the at least one event sequence; and in response tothe ratio exceeding a predefined ratio, identifying differences of thetype as the deviations.

Note the deviations mentioned in the context of the present inventionrefer to that differences accumulate to a given extent and lead tosignificant departures between an actual flow in practice and theoriginal process model; however, slight departures (for example, newmedicine A is used in treatment for only several patients) should not bereferred to as deviations. Therefore, whether there exist deviations maybe judged based on the ratio of the number of event sequences withdifferences to the total number.

As described above, since the differences may comprise multiple types,the ratio may be calculated with respect to each type among the multipletypes. Specifically, suppose the event log contains treatment records of1000 patients, wherein new medicine A is used for only 15 patients, so aratio of “additional activity” occurrence is 1.5%. If a threshold for“additional activities” is 10%, then it is not considered that thereexist deviations. In another case, if new medicine A is used for 500patients, then 500/1000>10%, at which point there are deviations.

With respect to differences of “absent activities” and “violatedconstraints” types, those skilled in the art may set correspondingthresholds based on the above principle, which is not detailed here.

In one embodiment of the present invention, there is provided a methodfor updating a process model, comprising: based on the above method,detecting deviations between an event log and the process model; andupdating the process model based on the deviations.

Detailed illustration has been presented above to how to detectdeviations between an event log and the process model with reference tothe accompanying drawings, and then updating the process model based onthe deviations may be considered after detecting the deviations.Specifically, for example, it is found that new medicine A is usedfrequently for diabetes treatment, then the new medicine A may be addedto the process model; for another example, when it is found no doctoruses medicine 1 during treatment, then medicine 1 may be removed fromthe process model. Corresponding medical criteria may be modified basedon the process model.

FIG. 7 schematically shows a block diagram of an apparatus for detectingdeviations between an event log and a process model. As shown in FIG. 7,there is provided an apparatus for detecting deviations between an eventlog and a process model, comprising: a converting module 710 configuredto convert the process model into a probability process model, theprobability process model comprising multiple nodes in multiplehierarchies and probability distribution associated with the multiplenodes, a leaf node among the multiple nodes corresponding to an activityin the process model; a detecting module 720 configured to detectdifferences between at least one event sequence contained in the eventlog and the probability process model according to a correspondencerelationship; and an identifying module 730 configured to identify thedifferences as the deviations in response to the differences exceeding apredefined threshold, wherein the correspondence relationship describesa correspondence relationship between an event in one event sequence ofthe at least one event sequence and a leaf node in the probabilityprocess model.

In one embodiment of the present invention, a non-leaf node among themultiple nodes corresponds to a phase in the process model.

In one embodiment of the present invention, converting module 710comprises: a forming module configured to calculate start probabilitiesof occurrence of the non-leaf nodes, transition probabilities among thenon-leaf nodes and emission probabilities from the non-leaf nodes to theleaf nodes, so as to form the probability process model.

In one embodiment of the present invention, the forming modulecomprises: a first forming module configured to set the startprobabilities, the transition probabilities and the emissionprobabilities to form the probability process model; and a secondforming module configured to iteratively train the probability processmodel.

In one embodiment of the present invention, detecting module 720comprises: an aligning module configured to, with respect to a currentevent sequence of the at least one event sequence, align each event inthe current event sequence with the leaf node in the probability processmodel; a path generating module configured to record a path of a leafnode with which each event is aligned in the probability process modelso as to convert the current event sequence into a path sequence; and adetermining module configured to determine the differences based on theprobability process model and the path sequence.

In one embodiment of the present invention, the path comprises amulti-level path corresponding to multiple hierarchies in theprobability process model.

In one embodiment of the present invention, types of the differencescomprise at least one of: additional activities, absent activities andviolated constraints.

In one embodiment of the present invention, the determining modulecomprises: a constructing module configured to use linear temporal logicto construct an automaton conforming to constraints in the probabilityprocess model; and an obtaining module configured to obtain the violatedconstraints from a path sequence that cannot be accepted by theautomaton.

In one embodiment of the present invention, the determining modulecomprises: a calculating module configured to calculate a universal setS_(Model) of paths of the leaf nodes in the probability process model,and a universal set S_(Log) of a path, of a leaf node aligned with anevent in an event sequence of the at least one event sequence, in theprobability process model, respectively; an absent activities obtainingmodule configured to calculate a difference setS_(Absent)=S_(Model)−S_(Log) between the universal set S_(Model) and theuniversal set S_(Log) as absent activities.

In one embodiment of the present invention, the determining modulecomprises: a calculating module configured to calculate a universal setS_(Model) of paths of the leaf nodes in the probability process model,and a universal set S_(Log) of a path, of a leaf node aligned with anevent in an event sequence of the at least one event sequence, in theprobability process model, respectively; an additional activitiesobtaining module configured to calculate a difference setS_(Additional)=S_(Log)−S_(Model) between the universal set S_(Log) andthe universal set S_(Model) as additional activities.

In one embodiment of the present invention, identifying module 730comprises: a ratio calculating module configured to calculate a ratio ofthe number of event sequences with differences of the at least one eventsequence to the total number of the at least one event sequence; and adeviation identifying module configured to, in response to the ratioexceeding a predefined ratio, identify differences of the type as thedeviations.

In one embodiment of the present invention, there is provided anapparatus for updating a process model, comprising: an apparatus asdescribed above, configured to detect deviations between an event logand the process model; and an updating module configured to update theprocess model based on the deviations.

By means of the methods and apparatuses of the present invention,deviations between an event log and a process model can be detected in amore accurate and effective manner while keeping the existing technicalsolution as much as possible. In addition, as time elapses, an outdatedprocess model can be updated based on the detected deviations.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

1. A method for updating a process model, the method comprising:detecting deviations between an event log and the process model by:converting, with a processing device, the process model into aprobability process model, the probability process model comprisingmultiple nodes in multiple hierarchies and probability distributionassociated with the multiple nodes, a leaf node among the multiple nodescorresponding to an activity in the process model; detecting differencesbetween at least one event sequence contained in the event log and theprobability process model according to a correspondence relationship;and identifying the differences as the deviations in response to thedifferences exceeding a predefined threshold; wherein the correspondencerelationship describes a correspondence relationship between an event inone event sequence of the at least one event sequence and a leaf node inthe probability process model; and updating the process model based onthe deviations.
 2. The method according to claim 1, wherein a non-leafnode among the multiple nodes corresponds to a phase in the processmodel.
 3. The method according to claim 2, wherein the converting theprocess model into a probability process model comprises: calculatingstart probabilities of occurrence of the non-leaf nodes, transitionprobabilities among the non-leaf nodes and emission probabilities fromthe non-leaf nodes to the leaf nodes, so as to form the probabilityprocess model.
 4. The method according to claim 3, wherein thecalculating start probabilities of occurrence of the non-leaf nodes,transition probabilities among the non-leaf nodes and emissionprobabilities from the non-leaf nodes to the leaf nodes, so as to formthe probability process model comprises: setting the startprobabilities, the transition probabilities and the emissionprobabilities to form the probability process model; and iterativelytraining the probability process model.
 5. The method according to claim1, wherein the detecting differences between at least one event sequencecontained in the event log and the probability process model accordingto the correspondence relationship comprises: with respect to a currentevent sequence of the at least one event sequence; aligning each eventin the current event sequence with the leaf node in the probabilityprocess model based on the probability distribution; recording a path,of a leaf node with which each event is aligned, in the probabilityprocess model so as to convert the current event sequence into a pathsequence; and determining the differences based on the probabilityprocess model and the path sequence.
 6. The method according to claim 5,wherein the path comprises a multi-level path corresponding to multiplehierarchies in the probability process model.
 7. The method according toclaim 5, wherein types of the differences comprise violated constraints,and the determining the differences based on the probability processmodel and the path sequence comprises: using linear temporal logic toconstruct an automaton conforming to constraints in the probabilityprocess model; and obtaining the violated constraints from a pathsequence that cannot be accepted by the automaton.
 8. The methodaccording to claim 5, wherein types of the differences comprise absentactivities, and the determining the differences based on the probabilityprocess model and the path sequence comprises: calculating a universalset S_(Model) of paths of the leaf nodes in the probability processmodel, and a universal set S_(Log) of a path, of a leaf node alignedwith an event in an event sequence of the at least one event sequence,in the probability process model, respectively; calculating a differenceset S_(Absent)=S_(Model)−S_(Log) between the universal set S_(Model) andthe universal set S_(Log) as absent activities.
 9. The method accordingto claim 5, wherein types of the differences comprise additionalactivities, and the determining the differences based on the probabilityprocess model and the path sequence comprises: calculating a universalset S_(Model) of paths of the leaf nodes in the probability processmodel, and a universal set S_(Log) of a path, of a leaf node alignedwith an event in an event sequence of the at least one event sequence,in the probability process model, respectively; calculating a differenceset S_(Additional)=S_(Log)−S_(Model) between the universal set S_(Log)and the universal set S_(Model) as additional activities.
 10. The methodaccording to claim 1, wherein the identifying the differences as thedeviations in response to the differences exceeding the predefinedthreshold comprises: calculating a ratio of the number of eventsequences with differences of the at least one event sequence to thetotal number of the at least one event sequence; and in response to theratio exceeding a predefined ratio, identifying differences of the typeas the deviations.